home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / S-Sh / SD Gradebook.cpt / SuperDuper Gradebook 1.25 / card_4842.txt < prev    next >
Text File  |  1988-07-21  |  39KB  |  1,484 lines

  1. -- card: 4842 from stack: in.25
  2. -- bmap block id: 8211
  3. -- flags: 4000
  4. -- background id: 2780
  5. -- name: Report Preferences
  6. ----- HyperTalk script -----
  7. global theLastName,theFirstName,theSSnumber,theCode, theMinorScores,theMinorGrades,theMinorAverages, theExamScores,theExamGrades,theExamAverages, thePaperScores,thePaperGrades,thePaperAverages, theFinalScore,theFinalGrade,theTermScore,theTermGrade
  8.  
  9. on opencard
  10.   global RepPrefsSet
  11.   put false into RepPrefsSet
  12. end opencard
  13.  
  14.  
  15. -- part 1 (button)
  16. -- low flags: 00
  17. -- high flags: A005
  18. -- rect: left=17 top=101 right=123 bottom=117
  19. -- title width / last selected line: 0
  20. -- icon id / first selected line: 0 / 0
  21. -- text alignment: 1
  22. -- font id: 0
  23. -- text size: 12
  24. -- style flags: 0
  25. -- line height: 16
  26. -- part name: Last Name
  27. ----- HyperTalk script -----
  28. on mouseUp
  29.   global theLastName
  30.   put the hilite of me into theLastName
  31. end mouseUp
  32.  
  33.  
  34.  
  35. -- part 2 (button)
  36. -- low flags: 00
  37. -- high flags: A005
  38. -- rect: left=17 top=125 right=147 bottom=117
  39. -- title width / last selected line: 0
  40. -- icon id / first selected line: 0 / 0
  41. -- text alignment: 1
  42. -- font id: 0
  43. -- text size: 12
  44. -- style flags: 0
  45. -- line height: 16
  46. -- part name: First Name
  47. ----- HyperTalk script -----
  48. on mouseUp
  49.   global theFirstName
  50.   put the hilite of me into theFirstName
  51. end mouseUp
  52.  
  53.  
  54.  
  55. -- part 3 (button)
  56. -- low flags: 00
  57. -- high flags: A005
  58. -- rect: left=17 top=150 right=172 bottom=117
  59. -- title width / last selected line: 0
  60. -- icon id / first selected line: 0 / 0
  61. -- text alignment: 1
  62. -- font id: 0
  63. -- text size: 12
  64. -- style flags: 0
  65. -- line height: 16
  66. -- part name: SS number
  67. ----- HyperTalk script -----
  68. on mouseUp
  69.   global theSSNumber
  70.   put the hilite of me into theSSNumber
  71. end mouseUp
  72.  
  73.  
  74.  
  75. -- part 4 (button)
  76. -- low flags: 00
  77. -- high flags: A005
  78. -- rect: left=17 top=175 right=197 bottom=117
  79. -- title width / last selected line: 0
  80. -- icon id / first selected line: 0 / 0
  81. -- text alignment: 1
  82. -- font id: 0
  83. -- text size: 12
  84. -- style flags: 0
  85. -- line height: 16
  86. -- part name: Code
  87. ----- HyperTalk script -----
  88. on mouseUp
  89.   global theCode
  90.   put the hilite of me into theCode
  91. end mouseUp
  92.  
  93.  
  94.  
  95. -- part 5 (button)
  96. -- low flags: 00
  97. -- high flags: A005
  98. -- rect: left=17 top=199 right=221 bottom=125
  99. -- title width / last selected line: 0
  100. -- icon id / first selected line: 0 / 0
  101. -- text alignment: 1
  102. -- font id: 0
  103. -- text size: 12
  104. -- style flags: 0
  105. -- line height: 16
  106. -- part name: Minor Scores
  107. ----- HyperTalk script -----
  108. on mouseUp
  109.   global theMinorScores
  110.   put the hilite of me into theMinorScores
  111. end mouseUp
  112.  
  113.  
  114.  
  115. -- part 6 (button)
  116. -- low flags: 00
  117. -- high flags: A005
  118. -- rect: left=17 top=224 right=246 bottom=125
  119. -- title width / last selected line: 0
  120. -- icon id / first selected line: 0 / 0
  121. -- text alignment: 1
  122. -- font id: 0
  123. -- text size: 12
  124. -- style flags: 0
  125. -- line height: 16
  126. -- part name: Minor Grades
  127. ----- HyperTalk script -----
  128. on mouseUp
  129.   global theMinorGrades
  130.   put the hilite of me into theMinorGrades
  131. end mouseUp
  132.  
  133.  
  134.  
  135. -- part 7 (button)
  136. -- low flags: 00
  137. -- high flags: A005
  138. -- rect: left=16 top=248 right=270 bottom=140
  139. -- title width / last selected line: 0
  140. -- icon id / first selected line: 0 / 0
  141. -- text alignment: 1
  142. -- font id: 0
  143. -- text size: 12
  144. -- style flags: 0
  145. -- line height: 16
  146. -- part name: Minor Averages
  147. ----- HyperTalk script -----
  148. on mouseUp
  149.   global theMinorAVerages
  150.   put the hilite of me into theMinorAverages
  151. end mouseUp
  152.  
  153.  
  154.  
  155. -- part 8 (button)
  156. -- low flags: 00
  157. -- high flags: A005
  158. -- rect: left=188 top=101 right=123 bottom=296
  159. -- title width / last selected line: 0
  160. -- icon id / first selected line: 0 / 0
  161. -- text alignment: 1
  162. -- font id: 0
  163. -- text size: 12
  164. -- style flags: 0
  165. -- line height: 16
  166. -- part name: Exam Scores
  167. ----- HyperTalk script -----
  168. on mouseUp
  169.   global theExamScores
  170.   put the hilite of me into theExamScores
  171. end mouseUp
  172.  
  173.  
  174.  
  175. -- part 9 (button)
  176. -- low flags: 00
  177. -- high flags: A005
  178. -- rect: left=188 top=125 right=147 bottom=296
  179. -- title width / last selected line: 0
  180. -- icon id / first selected line: 0 / 0
  181. -- text alignment: 1
  182. -- font id: 0
  183. -- text size: 12
  184. -- style flags: 0
  185. -- line height: 16
  186. -- part name: Exam Grades
  187. ----- HyperTalk script -----
  188. on mouseUp
  189.   global theExamGrades
  190.   put the hilite of me into theExamGrades
  191. end mouseUp
  192.  
  193.  
  194.  
  195. -- part 10 (button)
  196. -- low flags: 00
  197. -- high flags: A005
  198. -- rect: left=188 top=149 right=171 bottom=313
  199. -- title width / last selected line: 0
  200. -- icon id / first selected line: 0 / 0
  201. -- text alignment: 1
  202. -- font id: 0
  203. -- text size: 12
  204. -- style flags: 0
  205. -- line height: 16
  206. -- part name: Exam Averages
  207. ----- HyperTalk script -----
  208. on mouseUp
  209.   global theExamAverages
  210.   put the hilite of me into theExamAverages
  211. end mouseUp
  212.  
  213.  
  214.  
  215. -- part 11 (button)
  216. -- low flags: 00
  217. -- high flags: A005
  218. -- rect: left=188 top=174 right=196 bottom=296
  219. -- title width / last selected line: 0
  220. -- icon id / first selected line: 0 / 0
  221. -- text alignment: 1
  222. -- font id: 0
  223. -- text size: 12
  224. -- style flags: 0
  225. -- line height: 16
  226. -- part name: Paper Scores
  227. ----- HyperTalk script -----
  228. on mouseUp
  229.   global thePaperScores
  230.   put the hilite of me into thePaperScores
  231. end mouseUp
  232.  
  233.  
  234.  
  235. -- part 12 (button)
  236. -- low flags: 00
  237. -- high flags: A005
  238. -- rect: left=188 top=198 right=220 bottom=296
  239. -- title width / last selected line: 0
  240. -- icon id / first selected line: 0 / 0
  241. -- text alignment: 1
  242. -- font id: 0
  243. -- text size: 12
  244. -- style flags: 0
  245. -- line height: 16
  246. -- part name: Paper Grades
  247. ----- HyperTalk script -----
  248. on mouseUp
  249.   global thePaperGrades
  250.   put the hilite of me into thePaperGrades
  251. end mouseUp
  252.  
  253.  
  254.  
  255. -- part 13 (button)
  256. -- low flags: 00
  257. -- high flags: A005
  258. -- rect: left=188 top=222 right=244 bottom=316
  259. -- title width / last selected line: 0
  260. -- icon id / first selected line: 0 / 0
  261. -- text alignment: 1
  262. -- font id: 0
  263. -- text size: 12
  264. -- style flags: 0
  265. -- line height: 16
  266. -- part name: Paper Averages
  267. ----- HyperTalk script -----
  268. on mouseUp
  269.   global thePaperAverages
  270.   put the hilite of me into thePaperAverages
  271. end mouseUp
  272.  
  273.  
  274.  
  275. -- part 14 (button)
  276. -- low flags: 00
  277. -- high flags: A005
  278. -- rect: left=356 top=101 right=123 bottom=486
  279. -- title width / last selected line: 0
  280. -- icon id / first selected line: 0 / 0
  281. -- text alignment: 1
  282. -- font id: 0
  283. -- text size: 12
  284. -- style flags: 0
  285. -- line height: 16
  286. -- part name: Final Exam Score
  287. ----- HyperTalk script -----
  288. on mouseUp
  289.   global theFinalScore
  290.   put the hilite of me into theFinalScore
  291. end mouseUp
  292.  
  293.  
  294.  
  295. -- part 15 (button)
  296. -- low flags: 00
  297. -- high flags: A005
  298. -- rect: left=356 top=125 right=147 bottom=488
  299. -- title width / last selected line: 0
  300. -- icon id / first selected line: 0 / 0
  301. -- text alignment: 1
  302. -- font id: 0
  303. -- text size: 12
  304. -- style flags: 0
  305. -- line height: 16
  306. -- part name: Final Exam Grade
  307. ----- HyperTalk script -----
  308. on mouseUp
  309.   global theFinalGrade
  310.   put the hilite of me into theFinalGrade
  311. end mouseUp
  312.  
  313.  
  314.  
  315. -- part 16 (button)
  316. -- low flags: 00
  317. -- high flags: A005
  318. -- rect: left=356 top=149 right=171 bottom=464
  319. -- title width / last selected line: 0
  320. -- icon id / first selected line: 0 / 0
  321. -- text alignment: 1
  322. -- font id: 0
  323. -- text size: 12
  324. -- style flags: 0
  325. -- line height: 16
  326. -- part name: Term Score
  327. ----- HyperTalk script -----
  328. on mouseUp
  329.   global theTermScore
  330.   put the hilite of me into theTermScore
  331. end mouseUp
  332.  
  333.  
  334.  
  335. -- part 17 (button)
  336. -- low flags: 00
  337. -- high flags: A005
  338. -- rect: left=356 top=174 right=196 bottom=464
  339. -- title width / last selected line: 0
  340. -- icon id / first selected line: 0 / 0
  341. -- text alignment: 1
  342. -- font id: 0
  343. -- text size: 12
  344. -- style flags: 0
  345. -- line height: 16
  346. -- part name: Term Grade
  347. ----- HyperTalk script -----
  348. on mouseUp
  349.   global theTermGrade
  350.   put the hilite of me into theTermGrade
  351. end mouseUp
  352.  
  353.  
  354.  
  355. -- part 18 (button)
  356. -- low flags: 00
  357. -- high flags: A003
  358. -- rect: left=368 top=295 right=317 bottom=468
  359. -- title width / last selected line: 0
  360. -- icon id / first selected line: 0 / 0
  361. -- text alignment: 1
  362. -- font id: 0
  363. -- text size: 12
  364. -- style flags: 0
  365. -- line height: 16
  366. -- part name: Cancel
  367. ----- HyperTalk script -----
  368. on mouseUp
  369.   visual effect dissolve
  370.   go card "first record"
  371. end mouseUp
  372.  
  373.  
  374.  
  375. -- part 19 (button)
  376. -- low flags: 00
  377. -- high flags: A003
  378. -- rect: left=194 top=296 right=318 bottom=325
  379. -- title width / last selected line: 0
  380. -- icon id / first selected line: 0 / 0
  381. -- text alignment: 1
  382. -- font id: 0
  383. -- text size: 12
  384. -- style flags: 0
  385. -- line height: 16
  386. -- part name: Clear All Choices
  387. ----- HyperTalk script -----
  388. on mouseUp
  389.   repeat with count = 1 to 17
  390.     get the hilite of card button count
  391.     if it then
  392.       get the loc of card button count
  393.       click at it
  394.     end if
  395.   end repeat
  396.   get the hilite of card button 24
  397.   if it then
  398.     get the loc of card button 24
  399.     click at it
  400.   end if
  401. end mouseUp
  402.  
  403.  
  404.  
  405.  
  406.  
  407. -- part 21 (button)
  408. -- low flags: 00
  409. -- high flags: A003
  410. -- rect: left=20 top=296 right=318 bottom=157
  411. -- title width / last selected line: 0
  412. -- icon id / first selected line: 0 / 0
  413. -- text alignment: 1
  414. -- font id: 0
  415. -- text size: 12
  416. -- style flags: 0
  417. -- line height: 16
  418. -- part name: Select All Choices
  419. ----- HyperTalk script -----
  420. on mouseUp
  421.   repeat with count = 1 to 17
  422.     get the hilite of card button count
  423.     if not it then
  424.       get the loc of card button count
  425.       click at it
  426.     end if
  427.   end repeat
  428.   get the hilite of card button 24
  429.   if not it then
  430.     get the loc of card button 24
  431.     click at it
  432.   end if
  433. end mouseUp
  434.  
  435.  
  436.  
  437. -- part 24 (button)
  438. -- low flags: 00
  439. -- high flags: A000
  440. -- rect: left=359 top=241 right=288 bottom=476
  441. -- title width / last selected line: 0
  442. -- icon id / first selected line: 26298 / 26298
  443. -- text alignment: 1
  444. -- font id: 0
  445. -- text size: 12
  446. -- style flags: 0
  447. -- line height: 16
  448. -- part name: Create Column Display
  449. ----- HyperTalk script -----
  450.  
  451. global theLastName,theFirstName,theSSnumber,theCode, theMinorScores,theMinorGrades,theMinorAverages, theExamScores,theExamGrades,theExamAverages, thePaperScores,thePaperGrades,thePaperAverages, theFinalScore,theFinalGrade,theTermScore,theTermGrade,theAbsences
  452.  
  453. on mouseUp
  454.   global stringhold,maxcolumns,numberofcolumns,cardoffset
  455.   answer "Include students who withdrew?" with "yes" or "no" or "Cancel"
  456.   if it is "yes" then
  457.     put true into dodrop
  458.   else if it is "no" then
  459.     put false into dodrop
  460.   else
  461.     exit mouseup
  462.   end if
  463.   put 7 into maxcolumns
  464.   go card "first record"
  465.   show field "message"
  466.   put "Relax..."&return&"This may take"&return&"quite a while." into field "message"
  467.   set the lockscreen to true
  468.   push card
  469.   get the number of this card
  470.   put it into start
  471.   get the number of last card
  472.   put it into finish
  473.   go card "rows & columns"
  474.   put empty into card field "rows & columns"
  475.   put empty into card field "headerfield"
  476.   getHeader
  477.   if numberofcolumns > maxcolumns then
  478.     answer "Too many columns. Change your settings." with "OK" or "Cancel"
  479.     if it is "Cancel" then
  480.       go card "first record
  481.       exit mouseup
  482.     else
  483.       go to card "report preferences"
  484.       exit mouseup
  485.     end if
  486.   end if
  487.   put stringhold into line 1 of card field "headerfield"
  488.   put 1 into linecount
  489.   repeat with count = start to finish
  490.     push card
  491.     go card count
  492.     set the lockscreen to false
  493.     if (bkgnd field "withdrew" is empty) or (dodrop) then
  494.       put "Relax..."&return&"This may take"&return&"quite a while." into field "message"
  495.       put "Processing record"&&count-cardoffset into line 6 of field "message"
  496.       set the lockscreen to true
  497.       getaLine
  498.       go card "Rows & Columns"
  499.       put stringhold into line linecount of card field "Rows & Columns"
  500.       put linecount+1 into linecount
  501.       go card count
  502.     else
  503.       pop card
  504.     end if
  505.   end repeat
  506.   pop card
  507.   set the lockscreen to false
  508.   hide field "message"
  509.   beep
  510.   visual effect dissolve to gray
  511.   go card "rows and columns"
  512. end mouseUp
  513.  
  514. on getHeader
  515.   global theLastName,theFirstName,theSSnumber,theCode, theMinorScores,theMinorGrades,theMinorAverages, theExamScores,theExamGrades,theExamAverages, thePaperScores,thePaperGrades,thePaperAverages, theFinalScore,theFinalGrade,theTermScore,theTermGrade,theAbsences
  516.  
  517.   global stringhold,howmany, numberofcolumns,maxcolumns
  518.   global thismanyminors, thismanyexams, thismanypapers
  519.   put twelvetab("Last Name") into stringhold
  520.   put stringhold&twelvetab("First Name") into stringhold
  521.   push card
  522.   go card "first record"
  523.   howmanycolumns
  524.   if numberofcolumns > maxcolumns then exit getheader
  525.   --but if we‚Äôre still here, then do the following:
  526.   If theMinorScores and theMinorGrades then
  527.     repeat with count = 1 to thismanyminors
  528.       put "Asg#"&count&&"S" into tempscore
  529.       put "Asg#"&count&&"G" into tempgrade
  530.       put stringhold&eighttab(tempscore) into stringhold
  531.       put stringhold&eighttab(tempgrade) into stringhold
  532.     end repeat
  533.   end if
  534.  
  535.   If theMinorScores and not theMinorGrades then
  536.     repeat with count = 1 to thismanyminors
  537.       put "Asg#"&count&&"S" into tempscore
  538.       put stringhold&eighttab(tempscore) into stringhold
  539.     end repeat
  540.   end if
  541.  
  542.   If theMinorGrades and not theMinorScores then
  543.     repeat with count = 1 to thismanyminors
  544.       put "Asg#"&count&&"G" into tempgrade
  545.       put stringhold&eighttab(tempgrade) into stringhold
  546.     end repeat
  547.   end if
  548.  
  549.   if theMinorAverages then
  550.     put stringhold&eighttab("Av.M S") into stringhold
  551.     put stringhold&eighttab("Av.M G") into stringhold
  552.   end if
  553.  
  554.   If theExamScores and theExamGrades then
  555.     repeat with count = 1 to thismanyexams
  556.       put "Exam"&count&&"S" into tempscore
  557.       put "Exam"&count&&"G" into tempgrade
  558.       put stringhold&eighttab(tempscore) into stringhold
  559.       put stringhold&eighttab(tempgrade) into stringhold
  560.     end repeat
  561.   end if
  562.  
  563.   If theExamScores and not theExamGrades then
  564.     repeat with count = 1 to thismanyexams
  565.       put "Exam"&count&&"S" into tempscore
  566.       put stringhold&eighttab(tempscore) into stringhold
  567.     end repeat
  568.   end if
  569.  
  570.   If theExamGrades and not theExamScores then
  571.     repeat with count = 1 to thismanyexams
  572.       put "Exam"&count&&"G" into tempgrade
  573.       put stringhold&eighttab(tempgrade) into stringhold
  574.     end repeat
  575.   end if
  576.  
  577.   if theExamAverages then
  578.     put stringhold&eighttab("Av.E S") into stringhold
  579.     put stringhold&eighttab("Av.E G") into stringhold
  580.   end if
  581.  
  582.   If thePaperScores and thePaperGrades then
  583.     repeat with count = 1 to thismanypapers
  584.       put "Papr"&count&&"S" into tempscore
  585.       put "Papr"&count&&"G" into tempgrade
  586.       put stringhold&eighttab(tempscore) into stringhold
  587.       put stringhold&eighttab(tempgrade) into stringhold
  588.     end repeat
  589.   end if
  590.  
  591.   If thePaperScores and not thePaperGrades then
  592.     repeat with count = 1 to thismanypapers
  593.       put "Papr"&count&&"S" into tempscore
  594.       put stringhold&eighttab(tempscore) into stringhold
  595.     end repeat
  596.   end if
  597.  
  598.   If thePaperGrades and not thePaperScores then
  599.     repeat with count = 1 to thismanypapers
  600.       put "Papr"&count&&"G" into tempgrade
  601.       put stringhold&eighttab(tempgrade) into stringhold
  602.     end repeat
  603.   end if
  604.  
  605.   if thePaperAverages then
  606.     put stringhold&eighttab("Av.P S") into stringhold
  607.     put stringhold&eighttab("Av.P G") into stringhold
  608.   end if
  609.  
  610.   if thefinalScore then put stringhold&sixtab("FnlS") into stringhold
  611.   if theFinalGrade then put stringhold&fourtab("FnlG") into stringhold
  612.   if theAbsences then put stringhold&sixtab ("Absns") into stringhold
  613.   if theTermScore then put stringhold&sixtab ("TrmS") into stringhold
  614.   if theTermGrade then put stringhold&fourtab("TERM") into stringhold
  615.   put stringhold&return into stringhold
  616.   pop card
  617. end getHeader
  618.  
  619. on howmanycolumns
  620.   global theLastName,theFirstName,theSSnumber,theCode, theMinorScores,theMinorGrades,theMinorAverages, theExamScores,theExamGrades,theExamAverages, thePaperScores,thePaperGrades,thePaperAverages, theFinalScore,theFinalGrade,theTermScore,theTermGrade,theAbsences
  621.   global howmany, numberofcolumns
  622.   global thismanyminors, thismanyexams, thismanypapers
  623.   put 0 into numberofcolumns
  624.   if theSSnumber then put 1+numberofcolumns into numberofcolumns
  625.   if theCode then put 1+numberofcolumns into numberofcolumns
  626.   if theMinorAverages then put 2+numberofcolumns into numberofcolumns
  627.   if theExamAverages then put 2+numberofcolumns into numberofcolumns
  628.   if thePaperAverages then put 2+numberofcolumns into numberofcolumns
  629.   if theFinalScore then put 1+numberofcolumns into numberofcolumns
  630.   if theFinalGrade then put 1+numberofcolumns into numberofcolumns
  631.   if theTermScore then put 1+numberofcolumns into numberofcolumns
  632.   if theTermGrade then put 1+numberofcolumns into numberofcolumns
  633.   if theMinorScores then
  634.     getHowManyMinors
  635.     put howmany+numberofcolumns into numberofcolumns
  636.   end if
  637.   if theMinorGrades then
  638.     getHowManyMinors
  639.     put howmany into thismanyminors
  640.     put howmany+numberofcolumns into numberofcolumns
  641.   end if
  642.   if theExamScores then
  643.     getHowManyExams
  644.     put howmany into thismanyexams
  645.     put howmany+numberofcolumns into numberofcolumns
  646.   end if
  647.   if theExamGrades then
  648.     getHowManyExams
  649.     put howmany+numberofcolumns into numberofcolumns
  650.   end if
  651.   if thePaperScores then
  652.     getHowManyPapers
  653.     put howmany into thismanypapers
  654.     put howmany+numberofcolumns into numberofcolumns
  655.   end if
  656.   if thePaperGrades then
  657.     getHowManyPapers
  658.     put howmany+numberofcolumns into numberofcolumns
  659.   end if
  660. end howmanycolumns
  661.  
  662. on getaLine
  663.   global theLastName,theFirstName,theSSnumber,theCode, theMinorScores,theMinorGrades,theMinorAverages, theExamScores,theExamGrades,theExamAverages, thePaperScores,thePaperGrades,thePaperAverages, theFinalScore,theFinalGrade,theTermScore,theTermGrade,theAbsences
  664.   global stringhold
  665.   global thismanyminors, thismanyexams, thismanypapers
  666.   get field "last name"
  667.   put twelvetab(it) into stringhold
  668.   get field "first name"
  669.   put stringhold&twelvetab(it) into stringhold
  670.  
  671.   If theMinorScores and theMinorGrades then
  672.     repeat with count = 1 to thismanyminors
  673.       get field 8+count
  674.       put stringhold&eighttab(it) into stringhold
  675.       get field 22+count
  676.       put stringhold&eighttab(it) into stringhold
  677.     end repeat
  678.   end if
  679.  
  680.   If theMinorScores and not theMinorGrades then
  681.     repeat with count = 1 to thismanyminors
  682.       get field 8+count
  683.       put stringhold&eighttab(it) into stringhold
  684.     end repeat
  685.   end if
  686.  
  687.   If theMinorGrades and not theMinorScores then
  688.     repeat with count = 1 to thismanyminors
  689.       get field 22+count
  690.       put stringhold&eighttab(it) into stringhold
  691.     end repeat
  692.   end if
  693.  
  694.   if theMinorAverages then
  695.     get field "av minor s"
  696.     put stringhold&eighttab(it) into stringhold
  697.     get field "av minor g"
  698.     put stringhold&eighttab(it) into stringhold
  699.   end if
  700.  
  701.   If theExamScores and theExamGrades then
  702.     repeat with count = 1 to thismanyexams
  703.       put 38 + count into whichfield
  704.       get field whichfield
  705.       put stringhold&eighttab(it) into stringhold
  706.       get field 41+count
  707.       put stringhold&eighttab(it) into stringhold
  708.     end repeat
  709.   end if
  710.  
  711.   If theExamScores and not theExamGrades then
  712.     repeat with count = 1 to thismanyexams
  713.       get field 38+count
  714.       put stringhold&eighttab(it) into stringhold
  715.     end repeat
  716.   end if
  717.  
  718.   If theExamGrades and not theExamScores then
  719.     repeat with count = 1 to thismanyexams
  720.       get field 41+count
  721.       put stringhold&eighttab(it) into stringhold
  722.     end repeat
  723.   end if
  724.  
  725.   if theExamAverages then
  726.     get field "av exam s"
  727.     put stringhold&eighttab(it) into stringhold
  728.     get field "av exam g"
  729.     put stringhold&eighttab(it) into stringhold
  730.   end if
  731.  
  732.   If thePaperScores and thePaperGrades then
  733.     repeat with count = 1 to thismanypapers
  734.       get field 46+count
  735.       put stringhold&eighttab(it) into stringhold
  736.       get field 50+count
  737.       put stringhold&eighttab(it) into stringhold
  738.     end repeat
  739.   end if
  740.  
  741.   If thePaperScores and not thePaperGrades then
  742.     repeat with count = 1 to thismanypapers
  743.       get field 46+count
  744.       put stringhold&eighttab(it) into stringhold
  745.     end repeat
  746.   end if
  747.  
  748.   If thePaperGrades and not thePaperScores then
  749.     repeat with count = 1 to thismanypapers
  750.       get field 50+count
  751.       put stringhold&eighttab(it) into stringhold
  752.     end repeat
  753.   end if
  754.  
  755.   if thePaperAverages then
  756.     get field "av paper s"
  757.     put stringhold&eighttab(it) into stringhold
  758.     get field "av paper g"
  759.     put stringhold&eighttab(it) into stringhold`
  760.   end if
  761.  
  762.   if theFinalScore then
  763.     get field "final exam score"
  764.     put stringhold&sixtab(it) into stringhold
  765.   end if
  766.  
  767.   if theFinalGrade then
  768.     get field "final exam grade"
  769.     put stringhold&fourtab(it)into stringhold
  770.   end if
  771.  
  772.   if theAbsences then
  773.     get field "Absences"
  774.     put stringhold&sixtab(it) into stringhold
  775.   end if
  776.  
  777.   if theTermScore then
  778.     get field "term score"
  779.     put stringhold&sixtab(it) into stringhold
  780.   end if
  781.  
  782.   if theTermGrade then
  783.     get field "term grade"
  784.     put stringhold&fourtab(it) into stringhold
  785.     put stringhold&return into stringhold
  786.   end if
  787. end getaLine
  788.  
  789. function sixteentab instring
  790. get the length of instring
  791. put it into howlong
  792. put 16-howlong into spacer
  793. repeat with count=1 to spacer
  794.   put space after instring
  795. end repeat
  796. return instring
  797. end sixteentab
  798.  
  799. function twelvetab instring
  800. get the length of instring
  801. put it into howlong
  802. put 12-howlong into spacer
  803. repeat with count=1 to spacer
  804.   put space after instring
  805. end repeat
  806. return instring
  807. end twelvetab
  808.  
  809. function eighttab instring
  810. get the length of instring
  811. put it into howlong
  812. put 8-howlong into spacer
  813. repeat with count=1 to spacer
  814.   put space after instring
  815. end repeat
  816. return instring
  817. end eighttab
  818.  
  819. function sixtab instring
  820. get the length of instring
  821. put it into howlong
  822. put 6-howlong into spacer
  823. repeat with count=1 to spacer
  824.   put space after instring
  825. end repeat
  826. return instring
  827. end sixtab
  828.  
  829. function fourtab instring
  830. get the length of instring
  831. put it into howlong
  832. put 4-howlong into spacer
  833. repeat with count=1 to spacer
  834.   put space after instring
  835. end repeat
  836. return instring
  837. end fourtab
  838.  
  839.  
  840. -- part 25 (button)
  841. -- low flags: 00
  842. -- high flags: 8003
  843. -- rect: left=418 top=33 right=54 bottom=481
  844. -- title width / last selected line: 0
  845. -- icon id / first selected line: 0 / 0
  846. -- text alignment: 1
  847. -- font id: 0
  848. -- text size: 12
  849. -- style flags: 0
  850. -- line height: 16
  851. -- part name: help!
  852. ----- HyperTalk script -----
  853. on mouseUp
  854.   set the visible of card field "help" to not the visible of card field "help"
  855. end mouseUp
  856.  
  857.  
  858.  
  859. -- part 27 (button)
  860. -- low flags: 00
  861. -- high flags: A000
  862. -- rect: left=267 top=242 right=289 bottom=342
  863. -- title width / last selected line: 0
  864. -- icon id / first selected line: 12602 / 12602
  865. -- text alignment: 1
  866. -- font id: 0
  867. -- text size: 12
  868. -- style flags: 0
  869. -- line height: 16
  870. -- part name: Create  Report
  871. ----- HyperTalk script -----
  872.  
  873. on mouseUp
  874.   answer "Include students who withdrew?" with "yes" or "no" or "Cancel"
  875.   if it is "yes" then
  876.     put true into dodrop
  877.   else if it is "no" then
  878.     put false into dodrop
  879.   else
  880.     exit mouseup
  881.   end if
  882.   global stringhold,cardOffset
  883.   get the short name of this stack
  884.   put it into FileName
  885.   ask "Name file for Gradebook data" with FileName&".txt"
  886.   --if it is empty then exit mouseup
  887.   put it into FileName
  888.   open file FileName
  889.   go card "first record"
  890.   put empty into field "fullcolumns"
  891.   show field "message"
  892.   put "Relax..."&return&"This may take"&return&"quite a while." into field "message"
  893.   --set the lockscreen to true
  894.   push card
  895.   go card "first record"
  896.   get the number of this card
  897.   put it into start
  898.   get the number of last card
  899.   put it into finish
  900.   put 1 into linecount
  901.   getHeadLine
  902.   put stringhold into line linecount of field "fullcolumns"
  903.   put linecount+1 into linecount
  904.   repeat with count = start to finish
  905.     push card
  906.     --set the lockscreen to false
  907.     go card count
  908.     if (bkgnd field "withdrew" is empty) or (dodrop) then
  909.       put "Relax..."&return&"This may take"&return&"quite a while." into field "message"
  910.       getaLine
  911.       put "Processing record"&&count-cardOffset into line 6 of field "message"
  912.       set the lockscreen to true
  913.       pop card
  914.       put stringhold into line linecount of field "fullcolumns"
  915.       put linecount+1 into linecount
  916.     else
  917.       pop card
  918.     end if
  919.   end repeat
  920.   pop card
  921.   write field "fullcolumns" to file FileName
  922.   close file FileName
  923.   --set the lockscreen to false
  924.   put empty into field "fullcolumns"
  925.   hide field "message"
  926.   beep
  927. end mouseUp
  928.  
  929. on getaLine
  930.   global theLastName,theFirstName,theSSnumber,theCode, theMinorScores,theMinorGrades,theMinorAverages, theExamScores,theExamGrades,theExamAverages, thePaperScores,thePaperGrades,thePaperAverages, theFinalScore,theFinalGrade,theTermScore,theTermGrade,theAbsences
  931.  
  932.   global stringhold
  933.   put false into stringstarted
  934.   if theLastName then
  935.     get field "last name"
  936.     put it into stringhold
  937.     put true into stringstarted
  938.   end if
  939.   if theFirstName then
  940.     get field "first name"
  941.     if stringstarted then
  942.       put stringhold&tab&it into stringhold
  943.     else
  944.       put it into stringhold
  945.       put true into stringstarted
  946.     end if
  947.   end if
  948.   if theSSnumber then
  949.     get field "ss number"
  950.     if stringstarted then
  951.       put stringhold&tab&it into stringhold
  952.     else
  953.       put it into stringhold
  954.       put true into stringstarted
  955.     end if
  956.   end if
  957.   if theCode then
  958.     get field "code"
  959.     if stringstarted then
  960.       put stringhold&tab&it into stringhold
  961.     else
  962.       put it into stringhold
  963.       put true into stringstarted
  964.     end if
  965.   end if
  966.   if theMinorScores and theMinorGrades then
  967.     get Howmany (minor)
  968.     put it into rptCount
  969.     repeat with count = 1 to rptCount
  970.       put count+8 into theField
  971.       get field theField
  972.       if stringstarted then
  973.         put stringhold&tab&it into stringhold
  974.       else
  975.         put it into stringhold
  976.         put true into stringstarted
  977.       end if
  978.       put count+22 into theField
  979.       get field theField
  980.       if stringstarted then
  981.         put stringhold&tab&it into stringhold
  982.       else
  983.         put it into stringhold
  984.         put true into stringstarted
  985.       end if
  986.     end repeat
  987.   end if
  988.   if theMinorScores and not theMinorGrades then
  989.     get Howmany (minor)
  990.     put it into rptCount
  991.     repeat with count = 1 to rptCount
  992.       put count+8 into theField
  993.       get field theField
  994.       if stringstarted then
  995.         put stringhold&tab&it into stringhold
  996.       else
  997.         put it into stringhold
  998.         put true into stringstarted
  999.       end if
  1000.     end repeat
  1001.   end if
  1002.   if theMinorGrades and not theMinorScores then
  1003.     get Howmany (minor)
  1004.     put it into rptCount
  1005.     repeat with count = 1 to rptCount
  1006.       put count+22 into theField
  1007.       get field theField
  1008.       if stringstarted then
  1009.         put stringhold&tab&it into stringhold
  1010.       else
  1011.         put it into stringhold
  1012.         put true into stringstarted
  1013.       end if
  1014.     end repeat
  1015.   end if
  1016.   if theMinorAverages then
  1017.     get field "av minor s"
  1018.     if stringstarted then
  1019.       put stringhold&tab&it into stringhold
  1020.     else
  1021.       put it into stringhold
  1022.       put true into stringstarted
  1023.     end if
  1024.     get field "av minor g"
  1025.     if stringstarted then
  1026.       put stringhold&tab&it into stringhold
  1027.     else
  1028.       put it into stringhold
  1029.       put true into stringstarted
  1030.     end if
  1031.   end if
  1032.   if theExamScores and theExamGrades then
  1033.     get Howmany (exams)
  1034.     put it into rptCount
  1035.     repeat with count = 1 to rptCount
  1036.       put count+38 into theField
  1037.       get field theField
  1038.       if stringstarted then
  1039.         put stringhold&tab&it into stringhold
  1040.       else
  1041.         put it into stringhold
  1042.         put true into stringstarted
  1043.       end if
  1044.       put count+41 into theField
  1045.       get field theField
  1046.       if stringstarted then
  1047.         put stringhold&tab&it into stringhold
  1048.       else
  1049.         put it into stringhold
  1050.         put true into stringstarted
  1051.       end if
  1052.     end repeat
  1053.   end if
  1054.   if theExamScores and not theExamGrades then
  1055.     get Howmany (exams)
  1056.     put it into rptCount
  1057.     repeat with count = 1 to rptCount
  1058.       put count+38 into theField
  1059.       get field theField
  1060.       if stringstarted then
  1061.         put stringhold&tab&it into stringhold
  1062.       else
  1063.         put it into stringhold
  1064.         put true into stringstarted
  1065.       end if
  1066.     end repeat
  1067.   end if
  1068.   if theExamGrades and not theExamScores then
  1069.     get Howmany (minor)
  1070.     put it into rptCount
  1071.     repeat with count = 1 to rptCount
  1072.       put count+41 into theField
  1073.       get field theField
  1074.       if stringstarted then
  1075.         put stringhold&tab&it into stringhold
  1076.       else
  1077.         put it into stringhold
  1078.         put true into stringstarted
  1079.       end if
  1080.     end repeat
  1081.   end if
  1082.   if theExamAverages then
  1083.     get field "av exam s"
  1084.     if stringstarted then
  1085.       put stringhold&tab&it into stringhold
  1086.     else
  1087.       put it into stringhold
  1088.       put true into stringstarted
  1089.     end if
  1090.     get field "av exam g"
  1091.     if stringstarted then
  1092.       put stringhold&tab&it into stringhold
  1093.     else
  1094.       put it into stringhold
  1095.       put true into stringstarted
  1096.     end if
  1097.   end if
  1098.   if thePaperScores and thePaperGrades then
  1099.     get Howmany (papers)
  1100.     put it into rptCount
  1101.     repeat with count = 1 to rptCount
  1102.       put count+46 into theField
  1103.       get field theField
  1104.       if stringstarted then
  1105.         put stringhold&tab&it into stringhold
  1106.       else
  1107.         put it into stringhold
  1108.         put true into stringstarted
  1109.       end if
  1110.       put count+50 into theField
  1111.       get field theField
  1112.       if stringstarted then
  1113.         put stringhold&tab&it into stringhold
  1114.       else
  1115.         put it into stringhold
  1116.         put true into stringstarted
  1117.       end if
  1118.     end repeat
  1119.   end if
  1120.   if thePaperScores and not thePaperGrades then
  1121.     get Howmany (papers)
  1122.     put it into rptCount
  1123.     repeat with count = 1 to rptCount
  1124.       put count+46 into theField
  1125.       get field theField
  1126.       if stringstarted then
  1127.         put stringhold&tab&it into stringhold
  1128.       else
  1129.         put it into stringhold
  1130.         put true into stringstarted
  1131.       end if
  1132.     end repeat
  1133.   end if
  1134.   if thePaperGrades and not thePaperScores then
  1135.     get Howmany (papers)
  1136.     put it into rptCount
  1137.     repeat with count = 1 to rptCount
  1138.       put count+50 into theField
  1139.       get field theField
  1140.       if stringstarted then
  1141.         put stringhold&tab&it into stringhold
  1142.       else
  1143.         put it into stringhold
  1144.         put true into stringstarted
  1145.       end if
  1146.     end repeat
  1147.   end if
  1148.   if thePaperAverages then
  1149.     get field "av paper s"
  1150.     if stringstarted then
  1151.       put stringhold&tab&it into stringhold
  1152.     else
  1153.       put it into stringhold
  1154.       put true into stringstarted
  1155.     end if
  1156.     get field "av paper g"
  1157.     if stringstarted then
  1158.       put stringhold&tab&it into stringhold
  1159.     else
  1160.       put it into stringhold
  1161.       put true into stringstarted
  1162.     end if
  1163.   end if
  1164.   if theFinalScore then
  1165.     get field "final exam score"
  1166.     if stringstarted then
  1167.       put stringhold&tab&it into stringhold
  1168.     else
  1169.       put it into stringhold
  1170.       put true into stringstarted
  1171.     end if
  1172.   end if
  1173.   if theFinalGrade then
  1174.     get field "final exam grade"
  1175.     if stringstarted then
  1176.       put stringhold&tab&it into stringhold
  1177.     else
  1178.       put it into stringhold
  1179.       put true into stringstarted
  1180.     end if
  1181.   end if
  1182.   if theAbsences then
  1183.     get field "absences"
  1184.     if stringstarted then
  1185.       put stringhold&tab&it into stringhold
  1186.     else
  1187.       put it into stringhold
  1188.       put true into stringstarted
  1189.     end if
  1190.   end if
  1191.   if theTermScore then
  1192.     get field "term score"
  1193.     if stringstarted then
  1194.       put stringhold&tab&it into stringhold
  1195.     else
  1196.       put it into stringhold
  1197.       put true into stringstarted
  1198.     end if
  1199.   end if
  1200.   if theTermGrade then
  1201.     get field "term grade"
  1202.     if stringstarted then
  1203.       put stringhold&tab&it into stringhold
  1204.     else
  1205.       put it into stringhold
  1206.       put true into stringstarted
  1207.     end if
  1208.   end if
  1209.   put stringhold&return into stringhold
  1210. end getaLine
  1211.  
  1212. function howmany whichkind
  1213. global minorgradetoscore,examgradetoscore,papergradetoscore,thismany
  1214. put 0 into thismany
  1215. if whichkind = "minor" then
  1216.   if not minorgradetoscore then
  1217.     repeat with count = 9 to 22  --the "minor score" fields
  1218.       get field count
  1219.       if it is not empty then put count-8 into thismany
  1220.     end repeat
  1221.   else
  1222.     repeat with count = 23 to 36  --the "minor grade" fields
  1223.       get field count
  1224.       if it is not empty then
  1225.         put count-22 into thismany
  1226.       end if
  1227.     end repeat
  1228.   end if
  1229. else if whichkind = "exams" then
  1230.   if not examgradetoscore then
  1231.     repeat with count = 39 to 41
  1232.       get field count
  1233.       if it is not empty then put count-38 into thismany
  1234.     end repeat
  1235.   else
  1236.     repeat with count = 42 to 44
  1237.       get field count
  1238.       if it is not empty then
  1239.         put count-41 into thismany
  1240.       end if
  1241.     end repeat
  1242.   end if
  1243. else if whichkind = "papers" then
  1244.   if not papergradetoscore then
  1245.     repeat with count = 47 to 49
  1246.       get field count
  1247.       if it is not empty then put count-46 into thismany
  1248.     end repeat
  1249.   else
  1250.     repeat with count = 51 to 53
  1251.       get field count
  1252.       if it is not empty then
  1253.         put count-50 into thismany
  1254.       end if
  1255.     end repeat
  1256.   end if
  1257. else
  1258.   put "Foobar in the whichkind ifblock"
  1259. end if
  1260. return thismany
  1261. end howmany
  1262.  
  1263. on getHeadLine
  1264.   global theLastName,theFirstName,theSSnumber,theCode, theMinorScores,theMinorGrades,theMinorAverages, theExamScores,theExamGrades,theExamAverages, thePaperScores,thePaperGrades,thePaperAverages, theFinalScore,theFinalGrade,theTermScore,theTermGrade,theAbsences
  1265.   --put "Now in getheadline"
  1266.   --wait 2 seconds
  1267.  
  1268.   global stringhold,stringstarted
  1269.   put empty into stringhold
  1270.   put false into stringstarted
  1271.   --put "Fixing to get lastname"
  1272.   if theLastName then
  1273.     put "Last Name" into stringhold
  1274.     put true into stringstarted
  1275.   end if
  1276.   --put "Fixing to get firstname"
  1277.   if theFirstName then
  1278.     get columnLabel("First Name")
  1279.   end if
  1280.   --put "Fixing to get SS"
  1281.   if theSSnumber then
  1282.     get columnLabel("SS #")
  1283.   end if
  1284.   --put "Fixing to get Code"
  1285.   if theCode then
  1286.     get columnLabel("Code")
  1287.   end if
  1288.   --put "Fixing to get Minorscores & Minorgrades"
  1289.   if theMinorScores and theMinorGrades then
  1290.     get Howmany (minor)
  1291.     put it into rptCount
  1292.     repeat with count = 1 to rptCount
  1293.       put "Minor Score"&&count into it
  1294.       get columnLabel(it)
  1295.       put "Minor Grade"&&count into it
  1296.       get columnLabel(it)
  1297.     end repeat
  1298.   end if
  1299.   --put "Fixing to get minorscores"
  1300.   if theMinorScores and not theMinorGrades then
  1301.     get Howmany (minor)
  1302.     put it into rptCount
  1303.     repeat with count = 1 to rptCount
  1304.       put "Minor Score"&&count into it
  1305.       get columnLabel(it)
  1306.     end repeat
  1307.   end if
  1308.   --put "Fixing to get minorgrades"
  1309.   if theMinorGrades and not theMinorScores then
  1310.     get Howmany (minor)
  1311.     put it into rptCount
  1312.     repeat with count = 1 to rptCount
  1313.       put "Minor Grade"&&count into it
  1314.       get columnLabel(it)
  1315.     end repeat
  1316.   end if
  1317.   --put "Fixing to get minoraverages"
  1318.   if theMinorAverages then
  1319.     put "Minor Score Average" into it
  1320.     get columnLabel(it)
  1321.     put "Minor Grade Average" into it
  1322.     get columnLabel(it)
  1323.   end if
  1324.   --put "Fixing to get examscores & examgrades"
  1325.   if theExamScores and theExamGrades then
  1326.     get Howmany (exams)
  1327.     put it into rptCount
  1328.     repeat with count = 1 to rptCount
  1329.       put "Exam"&&count&&"Score" into it
  1330.       get columnLabel(it)
  1331.       put "Exam"&&count&&"Grade" into it
  1332.       get columnLabel(it)
  1333.     end repeat
  1334.   end if
  1335.   --put "Fixing to get Examscores"
  1336.   if theExamScores and not theExamGrades then
  1337.     get Howmany (exams)
  1338.     put it into rptCount
  1339.     repeat with count = 1 to rptCount
  1340.       put "Exam"&&count&&"Score" into it
  1341.       get columnLabel(it)
  1342.     end repeat
  1343.   end if
  1344.   --put "Fixing to get examgrades"
  1345.   if theExamGrades and not theExamScores then
  1346.     get Howmany (minor)
  1347.     put it into rptCount
  1348.     repeat with count = 1 to rptCount
  1349.       put "Exam"&&count&&"Grade" into it
  1350.       get columnLabel(it)
  1351.     end repeat
  1352.   end if
  1353.   --put "Fixing to get Examaverages"
  1354.   if theExamAverages then
  1355.     put "Av. Exam Score" into it
  1356.     get columnLabel(it)
  1357.     put "Av. Exam Grade" into it
  1358.     get columnLabel(it)
  1359.   end if
  1360.   --put "Fixing to get paperscores & papergrades"
  1361.   if thePaperScores and thePaperGrades then
  1362.     get Howmany (papers)
  1363.     put it into rptCount
  1364.     repeat with count = 1 to rptCount
  1365.       put "Paper"&&count&&"Score" into it
  1366.       get columnLabel(it)
  1367.       put "Paper"&&count&&"Grade" into it
  1368.       get columnLabel(it)
  1369.     end repeat
  1370.     --put "Fixing to get paperscores"
  1371.   end if
  1372.   if thePaperScores and not thePaperGrades then
  1373.     get Howmany (papers)
  1374.     put it into rptCount
  1375.     repeat with count = 1 to rptCount
  1376.       put "Paper"&&count&&"Score" into it
  1377.       get columnLabel(it)
  1378.     end repeat
  1379.   end if
  1380.   --put "Fixing to get papergrades"
  1381.   if thePaperGrades and not thePaperScores then
  1382.     get Howmany (papers)
  1383.     put it into rptCount
  1384.     repeat with count = 1 to rptCount
  1385.       put "Paper"&&count&&"Grade" into it
  1386.       get columnLabel(it)
  1387.     end repeat
  1388.   end if
  1389.   --put "Fixing to get paperaverages"
  1390.   if thePaperAverages then
  1391.     put "Av. Paper Score" into it
  1392.     get columnLabel(it)
  1393.     put "Av. Paper Grade" into it
  1394.     get columnLabel(it)
  1395.   end if
  1396.   --put "Fixing to get finalscore"
  1397.   if theFinalScore then
  1398.     --put "Final Exam Score" into it
  1399.     get columnLabel(it)
  1400.   end if
  1401.   --put "Fixing to get finalgrade"
  1402.   if theFinalGrade then
  1403.     put "Final Exam Grade" into it
  1404.     get columnLabel(it)
  1405.   end if
  1406.   --put "Fixing to get absences"
  1407.   if theAbsences then
  1408.     put "Absences" into it
  1409.     get columnLabel(it)
  1410.   end if
  1411.   --put "Fixing to get termscore"
  1412.   if theTermScore then
  1413.     put "TERM SCORE" into it
  1414.     get columnLabel(it)
  1415.   end if
  1416.   --put "Fixing to get termgrade"
  1417.   if theTermGrade then
  1418.     put "TERM GRADE" into it
  1419.     get columnLabel(it)
  1420.   end if
  1421.   put stringhold&return into stringhold
  1422. end getHeadLine
  1423.  
  1424. function columnLabel theLabel
  1425. global stringhold,stringstarted
  1426.  
  1427. put theLabel into it
  1428. if stringstarted then
  1429.   put stringhold&tab&it into stringhold
  1430. else
  1431.   put it into stringhold
  1432.   put true into stringstarted
  1433. end if
  1434. end columnLabel
  1435.  
  1436.  
  1437.  
  1438. -- part 26 (field)
  1439. -- low flags: 81
  1440. -- high flags: 2004
  1441. -- rect: left=16 top=94 right=295 bottom=348
  1442. -- title width / last selected line: 0
  1443. -- icon id / first selected line: 0 / 0
  1444. -- text alignment: 0
  1445. -- font id: 3
  1446. -- text size: 9
  1447. -- style flags: 0
  1448. -- line height: 12
  1449. -- part name: help
  1450. ----- HyperTalk script -----
  1451. on mouseup
  1452.   hide card field "help"
  1453. end mouseup
  1454.  
  1455.  
  1456. -- part 28 (button)
  1457. -- low flags: 00
  1458. -- high flags: A005
  1459. -- rect: left=356 top=198 right=220 bottom=456
  1460. -- title width / last selected line: 0
  1461. -- icon id / first selected line: 0 / 0
  1462. -- text alignment: 1
  1463. -- font id: 0
  1464. -- text size: 12
  1465. -- style flags: 0
  1466. -- line height: 16
  1467. -- part name: Absences
  1468. ----- HyperTalk script -----
  1469. on mouseUp
  1470.   global theAbsences
  1471.   put the hilite of me into theAbsences
  1472. end mouseUp
  1473.  
  1474.  
  1475.  
  1476. -- part contents for card part 26
  1477. ----- text -----
  1478. ‚ÄúCreate Report‚Äù creates a tabbed text file on disk, suitable for importing into a spreadsheet or standard database.
  1479. ‚ÄúCreate Column Display‚Äù creates a columnar display within Hypercard.  Get at it thru the "R & C" button on the record cards.  The column display always includes first & last names, and a maximum of 7 data columns.  This limitation is due to the limited width of a Hypercard screen.
  1480.  
  1481. The various check boxes allow you to choose which fields are to appear in the report or display.  The buttons "Select all" and "Clear all" provide a quick way to check or uncheck all boxes.  After making your choices, click the "Report" or "Display" button.
  1482.  
  1483. The ‚ÄúCancel‚Äù button returns you to the 
  1484. Records section of the gradebook.